// 定义用户相应的仓库
import {defineStore} from 'pinia'
import { reqUserCode ,reqUserData} from '@/api/hospital';
const useUserStore=defineStore('User',{
    state:()=> {
        return{
            // 控制显示与隐藏
            visiable:false,
            code:'',
            userInfo:JSON.parse(localStorage.getItem('USERINFO') as string)||{}
        }
    },
    actions:{
        // 获取验证码方法
        async getCode(phone:string){
            let res=await reqUserCode(phone)
            if(res.code==200){
                // 存储用户验证码
                this.code=res.data;
            }else{
                return Promise.reject(new Error('获取验证码失败'))
            }
        },
        // 登录
        async userLogin(loginData:any){
            let res=await reqUserData(loginData)
            if(res.code==200){
                this.userInfo=res.data;
                // 本地存储，刷新不丢失
                localStorage.setItem('USERINFO',JSON.stringify(this.userInfo))
                return 'ok'
            }else{
                return Promise.reject(new Error(res.message))
            }
        },
        // 推出登录
        logout(){
            this.userInfo={name:'',token:''}
            // 清除本地存储
            localStorage.removeItem('USERINFO')
        }
    },
    getters:{

    }
})
export default useUserStore